package com.ghp.common.model.dto.interfaceinfo;

import com.ghp.common.model.vo.RequestParamsRemarkVO;
import com.ghp.common.model.vo.ResponseParamsRemarkVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 更新请求
 */
@ApiModel(description = "更新接口信息")
@Data
public class InterfaceInfoUpdateDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @ApiModelProperty(value = "接口id", required = true)
    @NotNull(message = "接口id不能为空")
    private Long id;
    /**
     * 名称
     */
    @ApiModelProperty(value = "接口名", required = true)
    @NotBlank(message = "接口名不能为空")
    private String name;
    /**
     * 描述
     */
    @ApiModelProperty(value = "接口描述信息", required = true)
    private String description;
    /**
     * 主机名
     */
    @ApiModelProperty(value = "主机名", required = true)
    @NotBlank(message = "主机名不能为空")
    private String host;
    /**
     * 接口地址
     */
    @ApiModelProperty(value = "接口地址", required = true)
    @NotBlank(message = "接口地址不能为空")
    private String url;
    /**
     * 请求参数
     */
    @ApiModelProperty(value = "请求参数")
    private String requestParams;
    /**
     * 批量请求参数说明
     */
    @ApiModelProperty(value = "批量请求参数说明")
    private List<RequestParamsRemarkVO> requestParamsRemark;
    /**
     * 批量响应参数说明
     */
    @ApiModelProperty(value = "批量响应参数说明")
    private List<ResponseParamsRemarkVO> responseParamsRemark;
    /**
     * 请求头
     */
    @ApiModelProperty(value = "请求头")
    private String requestHeader;
    /**
     * 响应头
     */
    @ApiModelProperty(value = "响应头")
    private String responseHeader;
    /**
     * 接口状态（0-关闭，1-开启）
     */
    @ApiModelProperty(value = "接口状态 0-关闭 1-开启")
    private Integer status;
    /**
     * 请求类型
     */
    @ApiModelProperty(value = "请求类型")
    @NotBlank(message = "请求方式不能为空")
    private String method;
}
